package com.entrogy.service;

import com.alibaba.fastjson.JSONObject;
import com.entrogy.bean.BannerEntity;
import com.entrogy.bean.SchoolEntity;
import com.entrogy.bean.SchoolThdidUrlEntity;

import java.util.List;
import java.util.Map;

public interface SchoolService {
	/**
	 * 新增一个学校
	 * @param schoolEntity
	 * @return
	 */
	int insertSchool(SchoolEntity schoolEntity);

	/**
	 * 查出最后一个学校的后三位流水编码
	 * @param schoolCode
	 * @return
	 */
	Integer getSchoolCode(int schoolCode);

	/**
	 * 根据用户ID 查询其创建的所有学校
	 * @param userId
	 * @return
	 */
	List<SchoolEntity> getSchoolByUserId(String userId);

	/**
	 * 根据学校ID修改其对应的学校信息
	 * @param schoolEntity
	 * @return
	 */
	int updateSchool(SchoolEntity schoolEntity);

	/**
	 * 根据学校编码删除其对应的学校信息
	 * @param schoolCode
	 * @return
	 */
	int deleteSchool(int schoolCode);

	/**
	 *  获取学校列表
	 * @param map
	 * @return
	 */
	List<SchoolEntity> getSchoolList(Map<String,Object> map);

	/**
	 *   获取学校总数
	 * @param map
	 * @return
	 */
	int getSchoolListByTotal(Map<String,Object> map);

	/**
	 * 学校banner图的操作
	 * @param type
	 * @param id
	 * @param imgUrl
	 * @return
	 */
    int insertBanner(int type,Integer id, String imgUrl);

	/**
	 * 学校banner图的获取
	 * @param schoolCode
	 * @return
	 */
	List<BannerEntity> getBanner(int schoolCode);

	/**
	 * 根据ID删除banner图
	 * @param id
	 * @return
	 */
	int deleteBanner(int id);

	/**
	 * 查询所有学校列表
	 * @return
	 * @param schoolCode
	 */
	List<JSONObject> listSchool(Integer schoolCode);

	SchoolThdidUrlEntity getSchoolThdidUrlAndGroupInfo(Integer schoolCode, String deviceModel);

	String getShcoolThdidUrl(Integer schoolCode, String deviceModel);

	String getSchoolName(Integer schoolCode);

    Integer countStudent(Integer schoolCode, Integer gradeId, Integer courseId, String studentName);

    Integer getSchoolOpenStatus(Integer schoolCode);
}
